package API.SystemDome;

/**
 * ClassName:SystemText003
 * Package:API.SystemDome
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/1/30-21:37
 * @Version:v1.0
 */
public class SystemText003 {
    public static void main(String[] args) {
        //判断1~10000之间有多少个质数
        long start001 = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            boolean flag = isPrime001(i);
            if (flag){
//                System.out.println(i);
            }
        }
        long end001 = System.currentTimeMillis();
        //获取程序运行的总时间
        System.out.println("使用isPrime001方法判断 1 ~ 10000 之间质数的时间："+(end001 - start001)+"毫秒");//20~30毫秒之间

//        long start002 = System.currentTimeMillis();
//        for (int i = 0; i < 10000; i++) {
//            boolean flag = isPrime002(i);
//            if (flag){
//            }
//        }
//        long end002 = System.currentTimeMillis();
//        //获取程序运行的总时间
//        System.out.println("使用isPrime002方法判断 1 ~ 10000 之间质数的时间："+(end002 - start002)+"毫秒");//3毫秒

    }


    //以前的方式来判断
    private static boolean isPrime001(int number) {
        for (int i = 2; i < number; i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }
    //改进之后的方式来判断  --- 效率高
    private static boolean isPrime002(int number) {
        int count = 0;
        for (int i = 2; i < Math.sqrt(number); i++) {
            if (number % i == 0) {
                return false;
            }
        }
        return true;
    }
}
